import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: DELL
 * Date: 2023-04-12
 * Time: 21:47
 */


// 构造 单链表节点
class ListNode {
    public int val;
    public listNode next;
    public ListNode(int val) {
        this.val = val;
    }
}
public class Training_0408 {

        public static void main1(String[] args) {
            Scanner scan = new Scanner(System.in);
            int num = scan.nextInt(); // 节点数
            listNode head = new listNode(-1); // 头结点
            listNode cur = head; // 下一个节点
            // 1. 构造所需链表
            for(int i = 0; i < num; i++) {
                listNode node = new listNode(scan.nextInt());
                cur.next = node;  // 上一个节点的 next 指向下一个新节点的地址
                cur = cur.next;   // 向下一个节点移动
            }

            int leftIndex = scan.nextInt();
            int rightIndex = scan.nextInt();

            // 2. 记录初始左边和右边当前节点
            listNode staNode = head;
            listNode endNode = head;

            // 寻找当前左边对应翻转节点
            for(int i = 0; i < leftIndex - 1; i++) {
                staNode = staNode.next;
            }
            // 寻找当前右边对应翻转节点
            for(int i = 0; i <= rightIndex; i++) {
                endNode = endNode.next;
            }

            // 3. 翻转指定节点
            listNode firstNode = staNode.next; // 记录要被修改的节点利于反转后寻找下一个节点指向
            listNode newNode = endNode; // 记录连接right后面节点
            int count = rightIndex - leftIndex + 1;
            while(count-- != 0) {
                listNode pre = new listNode(firstNode.val); // 前驱节点
                pre.next = newNode;
                newNode = pre;
                firstNode = firstNode.next;
            }

            // 连接 left 前面的节点
            staNode.next = newNode;

            // 输出
            head = head.next;
            while(head != null) {
                System.out.print(head.val + " ");
                head = head.next;
            }

    }


}
